﻿using LogisticsTrackingWebApi_V2.Models;

namespace LogisticsTrackingWebApi_V2.Services
{
    /// <summary>
    /// 物流服务接口
    /// </summary>
    public interface ILogisticsService
    {
        /// <summary>
        /// 获取所有支持的物流公司
        /// </summary>
        /// <returns>物流公司列表</returns>
        IEnumerable<(string Code, string Name)> GetSupportedCompanies();

        /// <summary>
        /// 查询物流信息
        /// </summary>
        /// <param name="trackingNumber">物流单号</param>
        /// <param name="companyCode">公司代码（可选）</param>
        /// <returns>物流信息</returns>
        Task<LogisticsInfo> QueryLogisticsAsync(string trackingNumber, string? companyCode = null);
    }

}
